package com.homework.ch0123;
import java.util.Scanner;
public class JavaUtils {

    /*
        作用：将v的第n位置置为1，从右向左数从1开始
        如：将10的第五位置为1
        10补码：00000000 00000000 00000000 00001010
        1<<4位定位第五位，然后1和任意数或运算都为1，就可以置为1
    */
    /**
     * @param v 给出值
     * @param n 表示所给值的第几位置为1
     * @return 返回v的第n位置为1后的整数（int）
     */
    public static int setBit(int v, int n) {
        return v | (1 << (n-1));
    }

    public static void main(String[] args) {
        Scanner sc=new Scanner(System.in);
        System.out.print("请输入一个数：");
        int v=sc.nextInt();
        System.out.print("请输入要将这个数的第几位置为1：");
        int n=sc.nextInt();
        System.out.println(v+"的第"+n+"位被置为1后的值为："+setBit(v,n));
    }
}
